package com.pro.common.api.pay.model.db;

import com.pro.common.api.CommonConst;
import com.pro.common.api.model.auth.IOpenConfigClass;
import com.pro.common.api.pay.model.base.BaseChannel;
import com.pro.framework.javatodb.annotation.JTDField;
import com.pro.framework.javatodb.annotation.JTDTable;
import com.pro.framework.javatodb.constant.JTDConst;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;


@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "代收渠道")
@JTDTable(module = CommonConst.Modules.pay, sequences = {"UNIQUE KEY `uk_merchantCode_param1_param2` (`merchant_code`,`param1`,`param2`)"}, entityId = 321)
public class PaymentChannel extends BaseChannel implements IOpenConfigClass {

    @Schema(description = "支付方式")
    private String payMethod;

    @Schema(description = "跳转地址")
    @JTDField(group = "基础信息", notNull = JTDConst.EnumFieldNullType.can_null)
    private String url;

    @Schema(description = "是否需要查询用户详细信息")
    private Boolean userDetailRequired;

    @Schema(description = "开户行")
    @JTDField(group = "线下充值配置", notNull = JTDConst.EnumFieldNullType.can_null)
    private String bankName;
    @Schema(description = "开户姓名")
    @JTDField(group = "线下充值配置", notNull = JTDConst.EnumFieldNullType.can_null)
    private String bankUsername;
    @Schema(description = "银行账号")
    @JTDField(group = "线下充值配置", notNull = JTDConst.EnumFieldNullType.can_null)
    private String bankAccount;
    @Schema(description = "钱包二维码")
    @JTDField(group = "线下充值配置", uiType = JTDConst.EnumFieldUiType.image)
    private String qrcodePic;
    @Schema(description = "是否禁用")
    private Boolean disabled;
    //充值
//    @Schema(description = "充值_总开关")
//    @JTDField(group = "recharge", defaultValue = "1")
//    private Boolean rechargeFlag;
//    @Schema(description = "充值_默认金额")
//    @JTDField(group = "recharge")
//    private String rechargeDefaultAmount;
//    @Schema(description = "充值_描述文章")
//    @JTDField(group = "recharge")
//    private String rechargePosters;
//    @Schema(description = "充值_线下提交处描述多文章")
//    @JTDField(group = "recharge", mainLength = 400)
//    private String rechargeOfflineFormPosters;

//    @Schema(description = "支付金额可选项，多个用英文,隔开")
//    @JTDField(notNull = JTDConst.EnumFieldNullType.can_null)
//    private String amountOptions;
//    @Schema(description = "是否在手机端显示")
//    private Boolean showInMobile;
//    @Schema(description = "是否在PC端显示")
//    @JTDField(notNull = JTDConst.EnumFieldNullType.can_null)
//    private Boolean showInPc;

//    @Schema(description = "是否需要上传交易截图")
//    private Boolean inputPic;
//    @Schema(description = "是否需要输入交易单号")
//    private Boolean inputMerchantNo;
//    @Schema(description = "是否需要输入付款账号")
//    private Boolean inputBankAccount;
//    @Schema(description = "是否需要输入付款银行")
//    private Boolean inputBankName;
//    @JTDField(javaTypeEnumClass = EnumUserRechargeProp.class, javaTypeEnumClassMultiple = true, uiType = JTDConst.EnumFieldUiType.select)
//    private String inputFields;
}
